Rapid Synchronized Lighting and Shuttering

ABSTRACT

This document describes various apparatuses and techniques for rapid synchronized lighting and shuttering. These apparatuses and techniques are capable of capturing two images, where one of the images integrates multiple exposures during which an image area is illuminated by a light source and another of the images integrates multiple exposures during which the image is not illuminated by the light source. The image area can be illuminated by rapidly flashing the image area with the light source and synchronizing a shutter to permit one image sensor to capture an image when the image area is illuminated and another image sensor to capture the image area when the image area is not illuminated. These two images can be captured concurrently or nearly concurrently, thereby reducing or eliminating motion artifacts. Further, these apparatuses and techniques may do so with slow and relatively low-cost cameras and relatively low computational costs.

PRIORITY APPLICATION

This application claims priority under 35 U.S.C. Section 120 as a continuation of U.S. patent application Ser. No. 13/667,408, filed Nov. 2, 2012, and entitled “Rapid Synchronized Lighting and Shuttering,” the entire disclosures of which is hereby incorporated by reference.

BACKGROUND

Current imaging techniques have failed to adequately address undesired ambient light. Some partial but inadequate solutions have been devised, including drowning out ambient light using a very bright light. This partial solution, however, often requires a brighter illuminant than is practical, higher power usage than is desired, or creates undesirably high heat. Also, it fails to handle very bright ambient light, such as outdoor scenes on a sunny day or when imaging a gesture made over a bright computer screen. Other partial but inadequate solutions include spectral approaches in which an object is illuminated with a narrow-frequency light and then band-pass filtering the image. This approach can fail due to the narrow-frequency lighting device drifting out of the narrow-frequency band.

Another partial but inadequate solution involves capturing an image with a light on, then another image with the light off, and then subtracting the ambient background light to provide an image having only the provided light. This solution, however, fails to address the ambient light changing or the image changing, such as when an object in the imaging area is moving. These problems can be addressed somewhat through complex and resource-intensive processing of the images and a fast camera, though the processing is computationally expensive and these fast cameras are also costly and often large and heavy as well. Further, even with this processing and fast camera, motion artifacts cannot be completely addressed.

SUMMARY

This document describes various apparatuses and techniques for rapid synchronized lighting and shuttering. These apparatuses and techniques are capable of capturing two images, where one of the images integrates multiple exposures during which an image area is illuminated by a light source and another of the images integrates multiple exposures during which the image is not illuminated by the light source. The image area can be illuminated by rapidly flashing the image area with the light source and synchronizing a shutter to permit one image sensor to capture an image when the image area is illuminated and another image sensor to capture the image area when the image area is not illuminated. These two images can be captured concurrently or nearly concurrently, thereby reducing or eliminating motion artifacts. Further, these apparatus and techniques may do so with slow and relatively low-cost cameras and relatively low computational costs.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit of a reference number identifies the figure in which the reference number first appears. The use of the same reference number in different instances in the description and the figures may indicate similar or identical items.

FIG. 1 illustrates an example environment in which the techniques may be implemented and the apparatus may be embodied.

FIG. 2 illustrates an example computing device in which the controller of FIG. 1 may be embodied.

FIG. 3 is a flow diagram depicting example methods for rapid synchronized lighting and shuttering, including optional image comparison and use of an optional additional flashing light source.

FIG. 4 illustrates the environment of FIG. 1 along with some elements in greater detail as well as a flash graph showing times at which an image area is and is not illuminated.

FIG. 5 illustrates the environment of FIG. 1 along with additional elements for capturing one or more additional images.

FIG. 6 illustrates an example multi-light-source flash graph showing different times at which multiple light sources illuminate the image area.

FIG. 7 is a flow diagram depicting example methods for rapid synchronized lighting and shuttering effective to enable creation of a net image not illuminated by ambient light.

FIG. 8 illustrates an example device in which techniques for rapid synchronized lighting and shuttering can be implemented.

DETAILED DESCRIPTION

Overview

This document describes various apparatuses and techniques for rapid synchronized lighting and shuttering. Various embodiments of these techniques and apparatuses enable subtraction of ambient or other light with little or no motion artifacts, using relatively slow image sensors, and/or with relatively low usage of computational resources.

In some embodiments, for example, a camera system having two slow frame-rate image sensors capable of capturing an image 60 or fewer times per second, a light source that rapidly flashes an object, and shutters synchronized with the flashes enables one of the image sensors to receive light from the image area when the image area is illuminated by the light source and the other of the image sensors to receive light from the image area when the image area is not illuminated by the light source (assuming the shutters integrating the two sensors are synchronized). The image sensors may have a slow frame rate, which often results in the image sensors being small and inexpensive, without negatively affecting the techniques' ability to subtract ambient light as noted in part above. With these two images, a net image can be calculated that subtracts out ambient or other sources of light.

The described apparatuses and techniques, however, enable relatively slow frame-rate image sensors, in conjunction with synchronized light sources and shutters, to gain a resiliency to motion artifacts. This resiliency can be equal to fast frame-rate image sensors operating at a frame-rate of the shutters of the slow frame-rate image sensors that follow the described techniques. By so doing, the apparatus and techniques may be less costly and require lower computing and video bandwidth for similar or even superior resiliency to motion artifacts.

Example Environment

FIG. 1 is an illustration of an example environment 100 in which rapid synchronized lighting and shuttering can be implemented. Environment 100 includes an image area 102 having an object 104 (a person's head), a light source 106, ambient light 108, image sensors 110, a shutter system 112, and a controller 114.

Image area 102 is an area of which an image will be captured by image sensors 110, such as a moving hand, person, or object, as well as unmoving parts of the area. For example, image area 102 may be actors in a studio performing a comedy, a persons' hand performing a gesture over a lighted computer screen, a person moving his arms to control a game, or a wildlife scene of a butterfly landing on a flower.

Light source 106 is capable of illuminating image area 102 with rapidly flashing light. This rapid flashing can be random, regular, patterned, periodic, or coded in various manners, and is capable of illuminating image area 102 at a flash rate twice as fast (or faster) as an image-capture-rate of image sensors 110. Further, light source 106 illuminates image area 102 some fraction of an amount of time in which image sensors 110 are exposed, such as ¼, ¼, ¼, ⅔, ¾, and so forth, depending on various factors set forth elsewhere herein. Light source 106 can include light-emitting-diodes (LEDs), laser diodes, and other types of lighting elements. Light source 106 can provide various frequencies of light, such as infrared, narrow-band, white, and so forth.

Ambient light 108 can be any type of light, such as light within an office building (e.g., fluorescent, incandescent, and/or natural light through glass, each alone or in combination), lighting in a television studio, light from a computer screen, or light from the sun or moon (direct, reflected, and/or refracted), to name just a few.

Image sensors 110, marked as first image sensor 110-1 and second image sensor 110-2 in FIG. 1, can be of various types and image-capturing rates. Thus, they can be relatively slow and inexpensive digital image sensors (e.g., those having a frame rate that is 60 times per second or slower), fast and expensive digital image sensors (those having a frame rate greater than at least 60 times per second, such as 100, 240, 1000, and 2000), analog sensors, and so forth. Image sensors 110 may have a slow image-capture-rate that is half or slower than half the speed of flashes of light from light source 106, though this is not required. They may also include or exclude a shutter, which may be a rolling shutter or global shutter, which can be synchronized with the other image sensor. This shutter, which may be included with the image sensor, is not a shutter of shutter system 112.

Shutter system 112 is capable of shuttering as fast as, and being synchronized with (or vice-a-versa), the flash rate and pattern of light source 106 and/or other light sources set forth elsewhere herein. Shutter system 112 is capable of preventing one of image sensors 110 from being exposed to light from light source 106 while exposing at least one other image sensor 110 to that light.

In embodiment 100 of FIG. 1, shutter system 112 includes a beam splitter 116, one or more polarizers (not shown), and one or more ferro-electric polarization retarders 118. Beam splitter 116 can be a silvered mirror, a dual brightness film (DBEF) sheet, or other device capable of splitting or directing light. Ferro-electric polarization retarders 118 act to prohibit one of image sensors 110 from being exposed to polarized light from image area 102 by cancelling that light while passing light to another of image sensors 110 to be exposed to polarized light from image area 102. Thus, light from light source 106 is flashed, illuminating image area 102, such as a person's head (object 104), the light reflects off of image area 102, is received and split by beam splitter 116, is polarized by one or more polarizers, and then is canceled or passed by ferro-electric polarization retarders 118. Here ferro-electric polarization retarders 118 (marked “118-1” and “118-2”) are rotated 90 degrees effective to pass or cancel received, polarized light. Note, however, that other embodiments of shutter system 112 may be used, such as fast mechanical shutters.

Generally, controller 114 is capable of controlling and synchronizing shutters and lighting of image area 102. In some embodiments, controller 114 is capable of flashing light source 106 and shuttering shutters of shuttering system 112 effective to enable image sensor 110-1 to capture a first image integrating multiple exposures during which light source 106 is flashed and to enable image sensor 110-2 to capture a second image integrating multiple exposures during which light source 106 is not flashed. Thus, controller 114 can cause shutters of shuttering system 112 to expose or pass light synchronously with illuminations of image area 102 by light source 106.

Further, in some embodiments controller 114 is capable of coding or patterning the flashing of flashing light source 106 to address particular kinds of ambient light. Consider a case where image area 102 is indoors and exposed to fluorescent ambient light. Fluorescent lights and some other types of light are not steady, though they may appear so. Instead, some types of lights flicker, such as at twice the supply frequency, e.g., fluorescent light sources may “flicker” at 50 Hz to 120 Hz, for example, which many people cannot see. Controller 114 determines the pattern of the fluorescent's illumination with various sensors (not shown), and thereby determines the rate and regularity at which the ambient light flickers. Controller 114 may then code the flashing of flashing light source 106 to this pattern of light flickering. This is but one way in which the apparatuses and techniques may avoid interference from ambient light.

These example embodiments are not intended to limit application of controller 114. Ways in which controller 114 acts and interacts, including with elements described in FIG. 1, are set forth in additional and greater detail below.

FIG. 2 illustrates a computing device 202 in which controller 114 may be embodied. Computing device 202 is illustrated with various non-limiting example devices: smartphone 202-1, laptop 202-2, television 202-3, desktop 202-4, and tablet 202-5. Computing device 202 includes processor(s) 204 and computer-readable media 206, which includes memory media 208 and storage media 210. Applications and/or an operating system (not shown) embodied as computer-readable instructions on computer-readable memory 206 can be executed by processor(s) 204 to provide some or all of the functionalities described herein. Computer-readable media 206 also includes controller 114, image post-processing module 212, and three-dimension (3D) module 214.

Computing device 202 also includes, or is in communication with, image sensors 110, input/output (I/O) ports 216, and network interface(s) 218. Image sensors 110 capture images as noted herein, and may be separate or integral with computing device 202. In some cases image sensors 110 can be used to capture gestures made near a lighted computer display, such as display 220 of tablet 202-5 or in proximity to a computing device, such as desktop 202-4 for larger gestures (like arm and body movements).

Captured images are received by computing device 202 from image sensors 110 via the one or more I/O ports 216. I/O ports 216 enable interaction generally between controller 114 and light source 106, shuttering system 112, and image sensors 110. I/O ports 216 can include a variety of ports, such as by way of example and not limitation, high-definition multimedia (HDMI), digital video interface (DVI), display port, fiber-optic or light-based, audio ports (e.g., analog, optical, or digital), USB ports, serial advanced technology attachment (SATA) ports, peripheral component interconnect (PCI) express based ports or card slots, serial ports, parallel ports, or other legacy ports.

Computing device 202 may also include network interface(s) 218 for communicating data over wired, wireless, or optical networks. Data communicated over such networks may include control data from controller 114, timing, sequences, coding, and the like to or from light source 106 and shuttering system 112. By way of example and not limitation, network interface 218 may communicate data over a local-area-network (LAN), a wireless local-area-network (WLAN), a personal-area-network (PAN), a wide-area-network (WAN), an intranet, the Internet, a peer-to-peer network, point-to-point network, a mesh network, and the like.

Example Methods

FIG. 3 is flow diagram depicting example methods 300 for rapid synchronized lighting and shuttering.

Block 302 rapidly flashes an object with a first light source, the object illuminated by a second light source in addition to the first light source. As noted in part above, this second light source can be ambient light. This second light source, however, may also or instead include another flashing light source. Use of other flashing light sources is set forth in greater detail elsewhere herein.

Block 304 synchronizes shuttering to expose and not expose different image sensors to the rapid flashing, the synchronized shuttering exposing a first image sensor during the flashes and a second image sensor not during the flashes. By way of example, consider a case where controller 114 synchronizes mechanical shutters to open one shutter prior to or during each flash and close prior to or during each flash (this first mechanical shutter is optically interposed between the object and the first image sensor). Controller 114 also synchronizes another mechanical shutter to open when or after each flash ceases and close prior to or when each flash begins (this second mechanical shutter is optically interposed between the object and the second image sensor).

By way of another example, consider FIG. 4, which illustrates some of the elements of FIG. 1 but in greater detail. Controller 114 (not shown) causes light source 106 to flash image area 102 and object 104 at times 2, 4, 6, 8, and 10 (shown at flash graph 402, each time representing one millisecond). No flashes from light source 106 are present at times 1, 3, 5, 7, and 9, though image area 102 is illuminated by ambient light 108 at these times. Controller 114 controls shutter system 112 by rotating ferro-electric polarization retarders 118-1, 118-2 effective to pass or block polarized light to image sensor 110-1, 110-2, respectively, at each of times 1 through 10. Note that the light that exposes image sensors 110 alternates based on when image area 102 is illuminated, shown at flash exposure light 404 and non-flash exposure light 406.

Block 306 captures, at the first image sensor, a first image of the object, the first image integrating multiple exposures during which the object is illuminated by the first light source during multiple, respective flashes and during which the object is also illuminated by the second light source.

Returning to the ongoing example of FIG. 4, image sensor 110-1 is exposed, for a single image, at times 2, 4, 6, 8, and 10, while image sensor 110-2 is exposed, also for a single image, at times 1, 3, 5, 7, and 9. As noted above, each of the images captured are exposed multiple times (here five), though as few as two or many more than five exposures can be made for each image. This is, or can be, a function of the image-capture rate of the image sensors. Thus, in those cases where an image sensor having a fast-image-capture-rate is practical, the number of exposures per image may be lower. A fast camera having an image capture rate of 240 images per second combined with a shutter system and light source capable of being synchronized by a controller for 960 flashes and shuttering 960 times per second, the images captured may have four exposures (960/240=4).

Block 308 captures, at the second image sensor, a second image of the object, the second image integrating multiple exposures during which the object is not illuminated by the first light source but is illuminated by the second light source. For the ongoing example, image sensor 110-2 is exposed five times for a single image captured, the five times when object 104 is not illuminated by light source 106 but is illuminated by ambient light 108.

Block 310 compares the first image and the second image effective to create a net image, the net image showing the object illuminated by the first light source but not illuminated by the second light source. This first light source flashes image area 102 but the second light source is not necessarily ambient light 108. Instead, other flashing light sources may be those excluded or removed to provide a net image. Furthermore, block 310 is not necessarily performed by controller 114. In some cases, controller 114 of FIGS. 1 and 2 provides the first image and the second image in a format usable by post-processing module 212 and/or 3D module 214 to determine the net image.

As noted in part above, first and second images captured during methods 300 can be captured concurrently or nearly concurrently. Image sensor 110-1 and image sensor 110-2 can be capturing images concurrently at the start of time 1 of graph 402 of FIG. 4. In such a case, image sensor 110-2, while available to receive light, may not actually receive the light, as its ferro-electric polarization retarder 118-2 will not pass light from beam splitter 116 at time 1. Still, both image sensors 110-1 and 110-2 are attempting to capture an image. Both image sensors 110-1 and 110-2 may send the captured image at the end of time 10 of graph 402 and then proceed to start again at a new cycle of flashes. As shown in FIG. 4, the exposures are interleaved during the same time period, here times 1 to 10 of graph 402 (here a total time period of 10 milliseconds).

Additionally and optionally, block 312 may synchronize shuttering of other image sensors to an additional flashing light source to provide one or more additional images. Capture of additional images can be interleaved with capture of images one and two.

By way of example, consider FIG. 5, which illustrates the elements of FIG. 1 along with additional elements for capturing one or more additional images. Each additional image can be used to determine placement of objects or other uses. Placement of objects can aid in 3D applications. In this example, a light source 502 flashes at the flash rate of light source 106 (or faster) and shuttering system 112 of FIG. 5 shutters at the rate of light source 502 using an additional shutter 504 (here also a ferro-electric polarization retarder). Controller 114 (not shown) is capable of synchronizing flashing of light source 502 and shuttering of additional shutter 504 effective to enable image sensor 110-1 and image sensor 110-2, or image sensor 110-3 and a fourth image sensor paired with image sensor 110-3 (not shown), to capture images integrating multiple exposures during which light source 502 is flashed.

While not shown, other image sensors may be used, such as one to capture another image when object 104 is exposed to ambient but no other light sources, or other images to capture images when flashed with still further flashing light sources. Note that light source 502 illuminates image area 102 from a different direction than light source 106 effective to provide a shadow of object 104. This difference in direction changes shadows of object 104, which can aid in 3D applications as noted herein, such as when object 104 is moving and thus its location is tracked through this movement based on the shadows. As noted in part above, additional images sensors may be used for 3D applications, though these additional image sensors are not necessarily required, as images can be captured by image sensors 110-1 and 110-2 that are illuminated by additional lights sources and thus have different shadowing.

In more detail, at FIG. 5 assume that controller 114 causes light source 106 to flash image area 102 and object 104 at times 1, 4, 7, and 10, causes light source 502 to flash at times 2, 5, 8, and 11, and ceases flashing at times 3, 6, 9, and 12 (image area 102 may still be illuminated by ambient light 108). This timing is shown at multi-light-source flash graph 602 in FIG. 6. This is but one example of ways in which controller 114 may code flashing of light sources so that they do not interfere with each other.

This example pattern is not required, however. Controller 114 may instead flash light source 106 at times 1, 5, and 9, another light source at times 3 and 7, and use (or avoid exposure during) times 2, 4, 6, and 8 based on a determined flicker of a fluorescent ambient light at times 2, 4, 6, and 8, for example. Other ways of coding one or more light sources are described elsewhere herein.

Light passes to beam splitter 116 and then to ferro-electric polarization retarder 118-1 (associated with image sensor 110-1) and a second beam splitter 506. From second beam splitter 506, light passes to ferro-electric polarization retarder 118-2 (associated with image sensor 110-2) and additional shutter 504, after which second-flash-exposure light 508 may pass to image sensor 110-3. Note that the light that exposes image sensors 110 alternates by threes based on when image area 102 is illuminated, shown at flash exposure light 404, non-flash exposure light 406, and second-flash-exposure light 508.

FIG. 7 is flow diagram depicting example methods 700 for rapid synchronized lighting and shuttering effective to enable creation of a net image not illuminated by ambient light. Methods 700 may be performed by controller 114 of FIG. 1, whether operating through software, hardware, or a combination thereof.

Block 702 rapidly flashes an object with a first light source, the object illuminated by ambient light in addition to the first light source. This rapid flashing is a multiple of the image sensors' frame rate, such as four or six times this frame rate. Thus, assuming that the image sensors' frame rate is eight, controller 114 flashes the object with light source 106 32 times per second at a four multiple flash rate.

Block 704 synchronizing shuttering of image sensors to the rapid flashing, the synchronized shuttering exposing a first image sensor during the flashes and a second image sensor not during the flashes.

Block 706 captures, at the first image sensor, a first image of the object, the first image integrating two or more exposures during which the object is illuminated by the first light source during multiple, respective flashes and during which the object is also illuminated by the ambient light.

Block 708 captures, at the second image sensor, a second image of the object, the second image integrating two or more exposures during which the object is not illuminated by the first light source but is illuminated by the ambient light.

Block 710 provides the first image and the second image effective to enable creation of a net image, the net image showing the object illuminated by the first light source but not illuminated by the ambient light.

Any of the methods set forth herein may provide images to a third party to create a net image or may create the net image internally, such as by post-processing module 212 of FIG. 1. Further, these methods may be used not only for large moving objects in natural light, such as persons walking outside, but also for small objects in other types of light. Thus, the methods may be used to flash a hand, finger, or stylus. The net image of this moving hand, finger, or stylus, may be effective to enable determination of a gesture performed by the hand, the finger, or the stylus, such as over a computer screen or in front of a television. This determination can be made by computing device 202, with which a person is interacting through the gesture, thereby enabling the television, tablet, or smart phone, for example, to determine gestures made even when illuminated by ambient light from a bright computer screen or television.

Note that various blocks of methods 300 and/or 700 may be repeated effective to continually provide images by which ambient light may be removed and/or locations be determined (whether for 3D applications, gesture recognition, or otherwise), among other applications.

The preceding discussion describes methods in which the techniques for rapid synchronized lighting and shuttering may be performed. These methods are shown as sets of blocks that specify operations performed but are not necessarily limited to the order shown for performing the operations by the respective blocks.

Aspects of these methods may be implemented in hardware (e.g., fixed logic circuitry), firmware, a System-on-Chip (SoC), software, manual processing, or any combination thereof. A software implementation represents program code that performs specified tasks when executed by a computer processor, such as software, applications, routines, programs, objects, components, data structures, procedures, modules, functions, and the like. The program code can be stored in one or more computer-readable memory devices, both local and/or remote to a computer processor. The methods may also be practiced in a distributed computing environment by multiple computing devices.

Example Device

FIG. 8 illustrates various components of example device 800 that can be implemented as any type of client, server, and/or display device as described with reference to the previous FIGS. 1-7 to implement techniques for rapid synchronized lighting and shuttering. In embodiments, device 800 can be implemented as one or a combination of a wired and/or wireless device, as a form of flat panel display, television, television client device (e.g., television set-top box, digital video recorder (DVR), etc.), consumer device, computer device, server device, portable computer device, viewer device, communication device, video processing and/or rendering device, appliance device, gaming device, electronic device, and/or as another type of device. Device 800 may also be associated with a viewer (e.g., a person or user) and/or an entity that operates the device such that a device describes logical devices that include viewers, software, firmware, and/or a combination of devices.

Device 800 includes communication devices 802 that enable wired and/or wireless communication of device data 804 (e.g., received data, data that is being received, data scheduled for broadcast, data packets of the data, etc.). The device data 804 or other device content can include configuration settings of the device, media content stored on the device, and/or information associated with a viewer of the device. Media content stored on device 800 can include any type of audio, video, and/or image data. Device 800 includes one or more data inputs 806 via which any type of data, media content, and/or inputs can be received, such as viewer-selectable inputs, position changes of a viewer, messages, music, television media content, recorded video content, and any other type of audio, video, and/or image data received from any content and/or data source.

Device 800 also includes communication interfaces 808, which can be implemented as any one or more of a serial and/or parallel interface, a wireless interface, any type of network interface, a modem, and as any other type of communication interface. The communication interfaces 808 provide a connection and/or communication links between device 800 and a communication network by which other electronic, computing, and communication devices communicate data with device 800.

Device 800 includes one or more processors 810 (e.g., any of microprocessors, controllers, and the like), which process various computer-executable instructions to control the operation of device 800 and to enable techniques for rapid synchronized lighting and shuttering. Alternatively or in addition, device 800 can be implemented with any one or combination of hardware, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits which are generally identified at 812. Although not shown, device 800 can include a system bus or data transfer system that couples the various components within the device. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures.

Device 800 also includes computer-readable storage media 814, such as one or more memory devices that enable persistent and/or non-transitory data storage (i.e., in contrast to mere signal transmission), examples of which include random access memory (RAM), non-volatile memory (e.g., any one or more of a read-only memory (ROM), non-volatile RAM (NVRAM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. A disk storage device may be implemented as any type of magnetic or optical storage device, such as a hard disk drive, a recordable and/or rewritable compact disc (CD), any type of a digital versatile disc (DVD), and the like. Device 800 can also include a mass storage media device 816.

Computer-readable storage media 814 provides data storage mechanisms to store the device data 804, as well as various device applications 818 and any other types of information and/or data related to operational aspects of device 800. For example, an operating system 820 can be maintained as a computer application with the computer-readable storage media 814 and executed on processors 810. The device applications 818 may include a device manager, such as any form of a control application, software application, signal-processing and control module, code that is native to a particular device, a hardware abstraction layer for a particular device, and so on. The device applications 818 also include any system components or modules to implement these described techniques. In this example, the device applications 818 can include controller 114.

Furthermore, device 800 may include or be capable of communication with display 220, image sensors 110, light sources 106, and shuttering system 112.

CONCLUSION

This document describes various apparatuses and techniques for rapid synchronized lighting and shuttering. This rapid synchronized lighting and shuttering permits images without ambient or other undesired light to be created with little or no motion artifacts. Further, these apparatus and techniques may do so with slow and relatively low-cost cameras and relatively low computational costs. Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed invention. 

What is claimed is:
 1. A controller configured to: synchronize flashing of a light source and shuttering of a shutter effective to enable capture of a first image integrating multiple exposures during which the light source is flashed and a second image integrating multiple exposures during which the light source is not flashed; and provide the first image and the second image, the first image and the second image usable to determine a net image in which one or more additional light sources other than the light source are excluded.
 2. A controller as recited in claim 1, wherein the controller is further configured to synchronize flashing of a second light source of the one or more additional light sources, the second light source excludable from the net image.
 3. A controller as recited in claim 1, wherein the light source is an LED or laser diode and a flash rate of the LED or laser diode is at least 60 Hz.
 4. A controller as recited in claim 3, wherein the flash rate of the LED or laser diode is at least twice as fast as an image-capture rate at which the first and second images are captured.
 5. A controller as recited in claim 3, wherein the controller is further configured to synchronize the shuttering of the shutter at a shuttering rate of at least as fast as the flash rate.
 6. A controller as recited in claim 1, wherein the shutter includes a beam splitter, a polarizer, and a ferro-electric polarization retarder and the controller is further configured to control the beam splitter, the polarizer, and the ferro-electric polarization retarder as part of synchronizing the flashing of the light source and the shuttering of the shutter.
 7. A controller as recited in claim 1, wherein the controller is computer hardware operating without computer-readable instructions or a processor.
 8. A controller as recited in claim 1, wherein the controller includes computer-executable instructions and further is configured to determine the net image by comparing the first image and the second image.
 9. A controller as recited in claim 1, wherein the controller is configured to synchronize flashing of the light source and shuttering of the shutter effective to enable capture of the first image by a first image sensor and capture of the second image by a second image sensor.
 10. A controller as recited in claim 1, wherein the controller is further configured to: synchronize flashing of a second light source and shuttering of a second shutter effective to enable capture of a third image integrating multiple exposures during which the second light source is flashed and a fourth image integrating multiple exposures during which the second light source is not flashed; and provide the third and fourth images, the first image, the second image, the third image, and the fourth image usable to determine placement of a moving object in three dimensions based on a first shadow of the moving object created by the light source and a second shadow of the moving object created by the second light source.
 11. A controller as recited in claim 1, wherein the first image, the second image, and the net image include a finger, hand, arm, or body and the controller is further configured to determine a gesture performed by the finger, hand, arm, or body based on the net image.
 12. A method comprising: rapidly flashing an object with a first light source, the object illuminated by a second light source in addition to the first light source; synchronizing shuttering to the rapid flashing, the synchronized shuttering effective to enable capture of a first image integrating multiple exposures during the flashes and a second image integrating multiple exposures not during the flashes; and comparing the first image and the second image effective to create a net image, the net image showing the object illuminated by the first light source but not illuminated by the second light source.
 13. A method as recited in claim 12, wherein synchronizing shuttering causes a first mechanical shutter to open prior to or during each flash of the rapid flashes and close prior to or during each flash of the rapid flashes, the first mechanical shutter interposed between the object and a first image sensor, and wherein synchronizing shuttering causes a second mechanical shutter to open when or after each flash of the rapid flashes ceases and close prior to or when each flash of the rapid flashes begins, the second mechanical shutter interposed between the object and a second image sensor.
 14. A method as recited in claim 12, wherein the object is a finger, hand, arm, body, or stylus and further comprising determining a gesture based on the net image.
 15. A method as recited in claim 14, wherein the second light source is light generated by a computer screen over which the finger, hand, arm, body, or stylus performs the gesture.
 16. A method as recited in claim 12, wherein comparing the first image and the second image effective to create the net image subtracts the second image from the first image.
 17. A method as recited in claim 12, wherein rapidly flashing the object is performed non-periodically effective to cause one of the first or second images to be an integration of longer exposures that the other of the first or second images.
 18. A computing device comprising: a first light source configured to flash at a flash rate; a shutter configured to shutter at least twice as fast as the flash rate; a computer screen having a second light source; and a controller configured to: synchronize flashing of the first light source and shuttering of the shutter effective to enable capture of a first image integrating multiple exposures during which the first light source is flashed and a second image integrating multiple exposures during which the first light source is not flashed and the second light source is provided; and provide the first image and the second image, the first image and the second image usable to determine a net image in which the second light source is excluded.
 19. A computing device as recited in claim 18, wherein the computing device further includes: one or more processors; and one or more computer-readable storage memory having computer-executable instructions thereon that, responsive to execution by the one or more processors, perform an act comprising determining, based on the net image, a gesture performed by an object captured in the net image.
 20. A computing device as recited in claim 19, wherein the object is a finger, hand, arm, or body and the gesture performed by the object is over the computer screen. 